{% macro INPUT(
      from_date,
      to_date,
      id="daterange",
      name="daterange",
      class="form-control"
  )
-%}
  <input
      type="text"
      id="{{ id }}"
      name="{{ name }}"
      class="{{ class }}"
      {% if from_date and to_date %}
        value="{{ from_date }} — {{ to_date }}"
      {% endif %}
  />
{%- endmacro %}

{% macro STYLES() -%}
  <link href="/static/css/daterangepicker.css" rel="stylesheet" type="text/css" />
{%- endmacro %}

{% macro SCRIPTS() -%}
  <script src="/static/js/moment.min.js"></script>
  <script src="/static/js/daterangepicker.js"></script>
{%- endmacro %}

{% macro DOCUMENT_READY_SCRIPT(
      input_id="daterange",
      form_id="report_form",
      apply_label="Создать отчёт",
      cancel_label="Отмена"
  )
-%}
  $('#{{input_id}}').daterangepicker({
    "showWeekNumbers": true,
    "ranges": {
      'Сегодня': [
        moment(),
        moment()
      ],
      'Вчера': [
        moment().subtract(1, 'days'),
        moment().subtract(1, 'days')
      ],
      'Последние 7 дней': [
        moment().subtract(6, 'days'),
        moment()
      ],
      'Последние 30 дней': [
        moment().subtract(29, 'days'),
        moment()
      ],
      'Этот месяц': [
        moment().startOf('month'),
        moment().endOf('month')
      ],
      'Прошлый месяц': [
        moment().subtract(1, 'month').startOf('month'),
        moment().subtract(1, 'month').endOf('month')
      ]
    },
    "locale": {
      "format": "DD.MM.YYYY",
      "separator": " — ",
      "applyLabel": "{{ apply_label }}",
      "cancelLabel": "{{ cancel_label }}",
      "fromLabel": "С",
      "toLabel": "По",
      "customRangeLabel": "Другое",
      "weekLabel": "Н",
      "daysOfWeek": [
        "Вс",
        "Пн",
        "Вт",
        "Ср",
        "Чт",
        "Пт",
        "Сб"
      ],
      "monthNames": [
        "Январь",
        "Февраль",
        "Март",
        "Апрель",
        "Май",
        "Июнь",
        "Июль",
        "Август",
        "Сентябрь",
        "Октябрь",
        "Ноябрь",
        "Декабрь"
      ],
      "firstDay": 1
    },
    "alwathisysShowCalendars": true
  }, function(start, end, label) {
    $('#{{ input_id }}').val(
      start.format('DD.MM.YYYY')
      + ' — ' +
      end.format('DD.MM.YYYY')
    );
    $('#{{ form_id }}').submit();
  });
{%- endmacro %}
